package utils

import "strings"

// ParseName 获取 firstName, lastName
func ParseName(fullName string) (firstName, lastName string) {
	// 清理首尾空格
	cleaned := strings.TrimSpace(fullName)

	// 分割名字
	parts := strings.Fields(cleaned)

	if len(parts) == 0 {
		return "", ""
	}

	// 东方姓名习惯：如果只有两个部分，第一个是姓，第二个是名
	if len(parts) == 2 && isEastAsianName(cleaned) {
		return parts[1], parts[0]
	}

	// 西方姓名习惯
	lastName = parts[len(parts)-1]
	firstName = strings.Join(parts[:len(parts)-1], " ")

	return
}

func isEastAsianName(name string) bool {
	// 根据实际情况实现更复杂的检测逻辑
	// 这里简化为检测是否包含东亚字符
	for _, r := range name {
		if r >= 0x4E00 && r <= 0x9FFF { // 中文Unicode范围
			return true
		}
	}
	return false
}
